home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / roldx < prev    next >
Internet Message Format  |  1995-03-31  |  32KB

  1. Path: seq!spell
  2. From: Jim Weisbin <73457.3462@CompuServe.COM>
  3. Subject:  v02i034:  roldx - Rolodex program v2.0, Part01/01
  4. Newsgroups: comp.sources.hp48
  5. Followup-To: comp.sys.hp48
  6. Approved: spell@seq.uncwil.edu
  7.  
  8. Checksum:  658072737 (verify with brik -cv)
  9. Submitted-by: Jim Weisbin <73457.3462@CompuServe.COM>
  10. Posting-number: Volume 2, Issue 34
  11. Archive-name: roldx/part01
  12.  
  13. BEGIN_DOC roldx.doc
  14.  
  15. Yet another rolodex program for the HP48. After sampling 
  16. the various rolodex-type programs out there, I decided I 
  17. needed to write my own. This one is written entirely in 
  18. user code, so it can be easily modified. It is not as fast 
  19. as some of the PDL and ML versions, but it mostly does what 
  20. I expect from a rolodex program where some of the others 
  21. fall short. PICT is not used, which greatly simplified the 
  22. programming effort. The database form is "free form" in the 
  23. sense that you can store anything you like on any line as 
  24. long as you have at least seven items in each list (only 7
  25. will be displayed). The 48 can display 7 lines of text 
  26. quickly with a minimum of fuss and I find this to be 
  27. adequate room to store name, address, phone, fax, and email 
  28. data.
  29.  
  30. The program is distributed as a directory. Press ROLDX to 
  31. start. Depending on the value of flag 34 (see below), you 
  32. will either see a screen with all 7 lines of the current 
  33. item, or a screen containing 7 items, each being one line 
  34. from each of 7 items starting from the current. You will be 
  35. presented with a menu as follows:
  36.  
  37. FIND        FIND text prompted for. If one character only,
  38.         only the 1st character of 1st or 2nd word (see
  39.         flag 32 below) is checked for a match. If more
  40.         than one character, a match is sought in any
  41.         position. Only the line number set by the var
  42.         rdLINE is searched.
  43. EDIT        the usual - all 7 lines must be edited, RETURN 
  44.         leaves each unchanged. An empty string is ok.
  45. ADD        add an item _after_ the current item.
  46. DEL        delete the current item (you can't delete 1 of
  47.         1 though).
  48. ->STK    put the current item on the stack.
  49. STK->    insert an item from the stack. (Must be a list with
  50.         at least 7 items).
  51.  
  52. In addition to the menu keys above, the following key-
  53. presses are supported:
  54.  
  55. right-arrow, down-arrow, NEXT            increment pointer
  56. up-arrow, left arrow, PREV            decrement pointer
  57. left-shift right-arrow & down-arrow     incr pointer by 7 
  58. left-shift left-arrow & up-arrow        decr pointer by 7
  59. right-shift right-arrow & down-arrow    go to last
  60. right-shift left-arrow & up-arrow        go to first (top)
  61. ENTER                             enter STATUS mode
  62.                                 (change settings)
  63. right-shift OFF                    OFF (pause program)
  64. shift-PRINT                         print current item
  65.  
  66. There is no sorting provided, but you can use .->STK, STK->, 
  67. and DEL to move things around. (If you have Donnelly's Toolkit library, you can use LSORT - see below). The data format makes it fairly easy to transfer data to a PC and edit it there.
  68.  
  69. The following global variables must be present in the 
  70. current directory, and are provided with the listing:
  71.  
  72. rdNAME    a global containing another global which points 
  73.         to the roldx data list. For example, if the name 
  74.         of your data list is LIST1, then 'rdNAME' should
  75.         contain the global 'LIST1', *not* the list 
  76.         itself! The format of the data list is a list of
  77.         lists, each inner list containing at least 7 items,         which can be empty strings, but must be present. The         data format is the same as the iNB "Notebook" program         which was posted to the net sometime ago (my
  78.         complements to Poul-Henning Kamp). The program will
  79.         not create a new list if one is not present, so you
  80.         should modify the one I have provided, called LIST1.
  81.         The data list must be in the Roldx directory!!!
  82. rdSIZ    the number of entries (lists) in the data list.
  83. rdPOS    number of the current item to display.
  84. rdLINE    number of the line to search on, and the number of
  85.         the line which gets displayed when displaying only
  86.         the headings (flag 34 set).
  87. rdTXT    the last text sought by the FIND command (can be
  88.         a null string). 
  89.  
  90. The settings of user flags 32-35 are as follows (use the 
  91. ENTER key to enter status mode and change the settings):
  92.  
  93. Flag 32    if clear, and rdTEXT is only one character, 
  94.         (as set by the FIND command), the program will
  95.         attempt to match the first character of the 1st
  96.         word of the line to search on (rdLINE). In other
  97.         words, clear flag 32 if you put surnames first. If
  98.         you put surnames last, then set flag 32, and 
  99.         the program will attempt to match the 1st 
  100.         character of the 2nd word of the line to search.
  101.         The words are assumed to be separated by a
  102.         space. If no spaces are present, then the action
  103.         is the same as if flag 32 is clear. Note that, if
  104.         flag 32 is set, and there is either a trailing space
  105.         or more than one space after the first word (and 
  106.         no other words), the program will attempt to match
  107.         a space. In other words, avoid trailing spaces!!!
  108. Flag 33    if clear, the FIND command searches from the 
  109.         current position in the list, if set, it 
  110.         searches from the beginning, which can be very 
  111.         slow for large databases. Note that only the 
  112.         line number in rdLINE is searched (searching
  113.         all lines would be too slow - perhaps a future
  114.         PDL version will overcome this).
  115. Flag 34     if clear, display all 7 lines of each item, if 
  116.         set, display only one line of each item, for a
  117.         total of seven items on each screen. With flag
  118.         34 set, the line diplayed for each item is the
  119.         value of rdLINE. When flag 34 is set, using
  120.         left-shift-arrows will scroll ahead or back by
  121.         exactly 7 items (one full screen holds 7 lines).
  122. Flag 35     a temporary flag used by FIND to signal a match.
  123.  
  124. In STATUS mode, there is a HELP key. The program HELP will
  125. also work when outside of the ROLDX program. 
  126.  
  127. Miscellaneous notes:
  128.  
  129. Some of the routines are appropriate for general use. These
  130. are as follows:
  131.  
  132. bell        an error bell - edit to anything you want, as
  133.         long as it can be evaluated.
  134. Ltrim    trim leading spaces from a string. Similar to
  135.         Donnelly's LTRIM, but doesn't remove tabs.
  136.         Can be replaced by Donnelly's LTRIM for more 
  137.         speed.
  138. split    split the <list in level 2> at the item 
  139.         <number in level 1>. Equivalent to Donnely's
  140.         SPLIT SWAP.
  141. LDEL        delete the item <number in level 1> from the 
  142.         <list in level 2> resulting in a new list minus
  143.         that item.
  144. UPcase    change case of characters between "a" and "z" to
  145.         uppercase. Replacing this with Donnelly's UCASE
  146.         will speed up FIND by at least 20%. Or, use the
  147.         following ML routine, which was posted to the net
  148.         (my apologies to the author, whose name I've lost):
  149.  
  150. %%HP: T(3)A(D)F(.);
  151. "D9D20ECE81D0040D9D2075660CCD20380008FB9760147134164146819F2CECE8AAE4D71643106AE514A9EC0331B79EAD131FD9EAE1317F9625131FF962C0310EA6A148161CF8AF2C8F2D760142164808CB2130B2130BDE1"
  152.  
  153. (run the above through ASC->).
  154.  
  155. As noted above, if you want to sort the data list, you can use
  156. Donnelly's LSORT. Put the list on the stack and press OBJ->, 
  157. then enter the number of the line you want to sort on (usually
  158. will be 1), then press LSORT from the TLLIB menu. Note that
  159. this will sort on the first letter(s) of each line so it is not
  160. really appropriate if you put surnames last (in other words, if
  161. you put surnames last, you will be sorting on first names).
  162.  
  163. Some may ask why I put the  program's dynamic parameters (like
  164. rdPOS, for example) in separate global variables, rather than
  165. in a parameter list. The answer is SPEED! The 48 can evaluate a
  166. global variable at least twice as fast as GETting a list item,
  167. and this can make a big difference to a program written in RPL.
  168. A future version of this program might be written in PDL, but
  169. who knows?
  170.  
  171. I personally don't see the usefulness of compiling this 
  172. into a library, but it should be do-able, providing the 
  173. variables rdXXX mentioned above are in the $VAR list used
  174. by USRLIB. The program is free and distributed as-is: use 
  175. at your own risk. There are NO sysevals or ML's to blow up 
  176. your machine, but I make no guarantees of any kind.
  177. As distributed, the directory takes 4924.5 bytes (chksum #9582h).
  178.  
  179. James Weisbin 73457.3462@compuserve.com
  180.  
  181. END_DOC
  182.  
  183. BEGIN_RPL roldx.rpl
  184. %%HP: T(3)A(D)F(.);
  185. DIR
  186.   ROLDX
  187.     \<< chkNAME
  188. rdINIT
  189.       DO 34
  190.         IF FC?
  191.         THEN disp1
  192.         ELSE disp7
  193.         END MNU1
  194. TMENU -1 WAIT
  195. 'rdKEY' STO
  196.         CASE { 25.1
  197. 34.1 26.2 } rdKEY
  198. POS
  199.           THEN prev
  200.           END {
  201. 26.1 35.1 36.1 }
  202. rdKEY POS
  203.           THEN next
  204.           END {
  205. 25.2 34.2 } rdKEY
  206. POS
  207.           THEN prv7
  208.           END {
  209. 35.2 36.2 } rdKEY
  210. POS
  211.           THEN nxt7
  212.           END {
  213. 34.3 25.3 } rdKEY
  214. POS
  215.           THEN top
  216.           END {
  217. 35.3 36.3 } rdKEY
  218. POS
  219.           THEN bot
  220.           END 51.1
  221. rdKEY ==
  222.           THEN
  223. status
  224.           END 91.3
  225. rdKEY ==
  226.           THEN off
  227.           END {
  228. 21.2 21.3 } rdKEY
  229. POS
  230.           THEN
  231. print
  232.           END rdKEY
  233. 10 / IP 1 ==
  234.           THEN MNU1
  235. rdKEY 10 / FP 10 *
  236. IP GET OBJ\->
  237.           END exit
  238.         END
  239.       UNTIL rdKEY 0
  240. ==
  241.       END 2 MENU
  242.     \>>
  243.   help
  244.     \<<
  245. "Data={ x x x x etc }"
  246. "   x={ min 7 items }"
  247. "Store NAME in rdNAME"
  248. "R/shft/ON=pause (off)"
  249. "L/shft/PRINT=prnt cur"
  250. "ENTER=setup/status"
  251. "Any other key to quit"
  252. 7 dispSTK 0 WAIT
  253. DROP
  254.     \>>
  255.   LIST1 { {
  256. "Weisbin, James"
  257. "31 Langton St"
  258. "London SW10 0JH"
  259. "TEL 071-537-5320"
  260. "FAX 071-537-5353"
  261. "email 73457.3462"
  262. "      @compuserve.com"
  263. } }
  264.   rdNAME LIST1
  265.   rdKEY 0
  266.   rdPOS 1
  267.   rdSIZ 1
  268.   rdLINE 1
  269.   rdTXT ""
  270.   chkNAME
  271.     \<< rdNAME TYPE 5
  272.       IF \=/
  273.       THEN
  274. "'rdNAME' doesn't hold
  275. the name of a list"
  276. DOERR
  277.       END
  278.     \>>
  279.   find
  280.     \<< CLLCD "Find:"
  281. rdTXT \Ga 2 \->LIST
  282. INPUT UPcase DUP
  283. 'rdTXT' STO ""
  284.       IF \=/
  285.       THEN 35 CF
  286. rdNAME 33 FC? rdPOS
  287. 1 IFTE
  288.         DO GETI
  289. rdLINE GET \->STR
  290. rdTXT SIZE 1
  291.           IF >
  292.           THEN
  293. UPcase rdTXT
  294.             IF POS
  295.             THEN 35
  296. SF
  297.             END
  298.           ELSE
  299. getCHR1 UPcase
  300. rdTXT
  301.             IF ==
  302.             THEN 35
  303. SF
  304.             END
  305.           END
  306.         UNTIL 35
  307. FS? -64 FS? OR
  308.         END SWAP
  309. DROP 35
  310.         IF FS?
  311.         THEN 1 -
  312. DUP
  313.           IF NOT
  314.           THEN DROP
  315. rdSIZ
  316.           END
  317. 'rdPOS' STO
  318.         ELSE DROP
  319. CLLCD
  320. "String not found"
  321. 1 DISP err
  322.         END
  323.       END
  324.     \>>
  325.   edit
  326.     \<< rdNAME \->stk
  327. "Line " \-> a t
  328.       \<< { } 1 7
  329.         FOR x t x
  330. \->STR + a x GET \Ga 2
  331. \->LIST INPUT +
  332.         NEXT rdPOS
  333. SWAP PUT 'rdNAME'
  334. RCL STO
  335.       \>>
  336.     \>>
  337.   add
  338.     \<< new stk\->
  339.     \>>
  340.   del
  341.     \<< CLLCD rdSIZ 1
  342.       IF >
  343.       THEN { "YES"
  344. "NO" } TMENU
  345. "REALLY?" 1 DISP -1
  346. WAIT 11.1
  347.         IF ==
  348.         THEN rdNAME
  349. rdPOS LDEL 'rdNAME'
  350. RCL STO 'rdPOS'
  351. DECR DROP rdINIT
  352.         END 0 MENU
  353.       ELSE
  354. "cant delete 1 of 1"
  355. 1 DISP err
  356.       END
  357.     \>>
  358.   print
  359.     \<< CR \->stk 1
  360.       DO GETI PR1
  361. DROP -64
  362.       UNTIL FS?
  363.       END DROP2
  364.     \>>
  365.   off
  366.     \<< OFF bell
  367.     \>>
  368.   status
  369.     \<<
  370.       DO DATE TIME
  371. TSTR 'rdNAME' RCL
  372. DUP "List: " SWAP +
  373. SWAP BYTES SWAP
  374. DROP "Size: " SWAP
  375. + "Item: " rdPOS +
  376. " of " + rdSIZ +
  377. "Find: word " 32
  378. FC? "1" "2" IFTE +
  379. " of line " +
  380. rdLINE +
  381. "Find: from " 33
  382. FS? "top" "current"
  383. IFTE + "Disp: " 34
  384.         IF FS?
  385.         THEN
  386. "Line " + rdLINE +
  387. " only * 7" +
  388.         ELSE
  389. "all lines" +
  390.         END 7
  391. dispSTK MNU2 -1
  392. WAIT IP \-> x
  393.         \<<
  394.           CASE x 12
  395. ==
  396.             THEN 33
  397. SF
  398.             END x
  399. 13 ==
  400.             THEN 33
  401. CF
  402.             END x
  403. 11 ==
  404.             THEN 32
  405. TFLAG
  406.             END 14
  407. x ==
  408.             THEN
  409. 'rdLINE' INCR 7
  410.               IF >
  411.               THEN
  412. 1 'rdLINE' STO
  413.               END
  414.             END 15
  415. x ==
  416.             THEN 34
  417. TFLAG
  418.             END 16
  419. x ==
  420.             THEN
  421. help 0 'x' STO
  422.             END 0
  423. 'x' STO
  424.           END x
  425.         \>>
  426.       UNTIL 0 ==
  427.       END 0 MENU
  428.     \>>
  429.   \->stk
  430.     \<< rdNAME rdPOS
  431. GET
  432.     \>>
  433.   stk\->
  434.     \<<
  435.       IFERR DUP DUP
  436. TYPE 5 \=/ SWAP SIZE
  437. 7 <
  438.         IF OR
  439.         THEN ""
  440. DOERR
  441.         END 1 \->LIST
  442. insrt
  443.       THEN CLLCD
  444. "invalid or no list..."
  445. 1 DISP err
  446.       END
  447.     \>>
  448.   split
  449.     \<< DUP2 1 SWAP
  450. SUB 3 ROLLD 1 +
  451. OVER SIZE SUB
  452.     \>>
  453.   new
  454.     \<< "Line " \-> t
  455.       \<< { } 1 7
  456.         FOR x t x
  457. \->STR + { "" \Ga }
  458. INPUT +
  459.         NEXT
  460.       \>>
  461.     \>>
  462.   insrt
  463.     \<< rdNAME rdPOS
  464. split ROT SWAP + +
  465. 'rdNAME' RCL STO
  466. 'rdPOS' INCR
  467. 'rdSIZ' INCR DROP2
  468.     \>>
  469.   LDEL
  470.     \<< DUP2 1 SWAP 1
  471. - SUB 3 ROLLD 1 +
  472. OVER SIZE SUB +
  473.     \>>
  474.   Ltrim
  475.     \<<
  476.       WHILE DUP
  477. SIZE OVER 1 1 SUB
  478. " " ==
  479.       REPEAT 2 SWAP
  480. SUB
  481.       END DROP
  482.     \>>
  483.   getCHR1
  484.     \<< 32
  485.       IF FS?
  486.       THEN DUP SIZE
  487. OVER " " POS
  488.         IF DUP
  489.         THEN 1 +
  490. SWAP SUB
  491.         ELSE DROP2
  492.         END
  493.       END Ltrim 1 1
  494. SUB
  495.     \>>
  496.   exit
  497.     \<< 0 'rdKEY' STO
  498.     \>>
  499.   top
  500.     \<< 1 'rdPOS' STO
  501.     \>>
  502.   bot
  503.     \<< rdSIZ 'rdPOS'
  504. STO
  505.     \>>
  506.   prev
  507.     \<< 'rdPOS' DECR
  508. 1 MAX 'rdPOS' STO
  509.     \>>
  510.   next
  511.     \<< 'rdPOS' INCR
  512. rdSIZ MIN 'rdPOS'
  513. STO
  514.     \>>
  515.   prv7
  516.     \<< rdPOS 7 - 1
  517. MAX 'rdPOS' STO
  518.     \>>
  519.   nxt7
  520.     \<< rdPOS 7 +
  521. rdSIZ MIN 'rdPOS'
  522. STO
  523.     \>>
  524.   MNU1 { "find"
  525. "edit" "add" "del"
  526. "\->stk" "stk\->" }
  527.   MNU2
  528.     \<< "WRD" 32 FC?
  529. "1" "2" IFTE +
  530. "TOP" 33
  531.       IF FS?
  532.       THEN " " +
  533.       END "CUR" 33
  534.       IF FC?
  535.       THEN " " +
  536.       END "LIN"
  537. rdLINE \->STR + "DSP"
  538. 34
  539.       IF FS?
  540.       THEN " " +
  541.       END "help" 6
  542. \->LIST TMENU
  543.     \>>
  544.   disp1
  545.     \<< \->stk EVAL 7
  546. dispSTK
  547.     \>>
  548.   disp7
  549.     \<< 0 \-> n
  550.       \<< rdPOS DUP 6
  551. + rdSIZ MIN
  552.         FOR x
  553. rdNAME x GET rdLINE
  554. GET 'n' INCR DROP
  555.         NEXT n
  556. dispSTK
  557.       \>>
  558.     \>>
  559.   dispSTK
  560.     \<< CLLCD 1
  561.       FOR x x DISP
  562. -1
  563.       STEP 7 FREEZE
  564.     \>>
  565.   TFLAG
  566.     \<< DUP
  567.       IF FS?
  568.       THEN CF
  569.       ELSE SF
  570.       END
  571.     \>>
  572.   UPcase
  573.     \<< DUP SIZE \-> t
  574. s
  575.       \<< "" 1 s
  576.         FOR x t x
  577. DUP SUB DUP DUP "a"
  578. \>= SWAP "z" \<=
  579.           IF AND
  580.           THEN " "
  581. XOR
  582.           END +
  583.         NEXT
  584.       \>>
  585.     \>>
  586.   rdINIT
  587.     \<< rdPOS 1 MAX
  588. 'rdPOS' STO rdNAME
  589. SIZE DUP 'rdSIZ'
  590. STO rdPOS MIN
  591. 'rdPOS' STO
  592.     \>>
  593.   err
  594.     \<< bell
  595. "press any key..."
  596. 2 DISP 7 FREEZE 0
  597. WAIT DROP
  598.     \>>
  599.   bell
  600.     \<< 2000 .06 DUP2
  601. DUP 3 ROLLD BEEP
  602. WAIT BEEP
  603.     \>>
  604. END
  605.  
  606. END_RPL
  607.  
  608. BEGIN_ASC roldx.asc
  609. %%HP: T(3)A(D)F(.);
  610. "69A20FF7C012000000402656C6C640D9D20E1632339203000000000000020339
  611. 2089900000000000602ABF178BF13F2A20DCF14C5A1F17A14C5A193632B2130D
  612. 60003056272730D9D20E163284E20402656C6C6C2A205200007275637370216E
  613. 69702B65697E2E2E2ED2A2485A1743A24A5A14B2A2F17A18DBF193632B2130A7
  614. 00060274694E4944560D9D20E163284E2050274605F4359C2A217CB14563284E
  615. 2050274605F43597632DCC0284E20602746E414D4548B9C178BF14563284E205
  616. 027463594A597632DCC0284E2050274605F4353ECB14563284E2050274605F43
  617. 597632DCC0293632B21302D0006055053616375660D9D20E163278BF18B9C11C
  618. 432D6E201047D6E201037E1632C2A20500009C2A2D6E2010370A132D6E201087
  619. D6E201047D6E20108778BF1C58C178BF178BF1C2A207000016B9DE1DBBF1C2A2
  620. 070000A7CFCE13CE22387E1AFE22D9D20C2A2070000026F8E1B21305DF2276BA
  621. 1C4232EF53293632B2130BF000504564C4147450D9D20E163278BF13CE22313C
  622. 1AFE225D2C15BF22472C15DF2293632B2130A400070469637073545B470D9D20
  623. E1632858A19C2A20A132D6E201087D6E201087485A1683A208332743A24A5A19
  624. 3632B21300600050469637077350D9D20E16324B2A21C432D6E2010E6E163284
  625. E2050274605F43578BF1233A276BA184E205027463594A53ECB10A132D6E2010
  626. 8784E20602746E414D454D6E2010876C7D184E20602746C494E4546C7D145632
  627. D6E2010E6976324F8028DBF1C4232D6E2010E684E2070469637073545B4EF532
  628. 93632B2130CF00050469637071350D9D20E163284E2040D83747B6EB3A1743A2
  629. 84E2070469637073545B493632B21300500040D4E4552340D9D20E1632C2A20B
  630. 0000752544339201000000000000230063C1C2A207000013C2A207000023EF3A
  631. 176BA1C2A20B000045F4053392010000000000003303CE22313C1AFE22D9D20C
  632. 2A20700002076BA1B21305DF22C2A20B00003455253392010000000000003303
  633. CE22063C1AFE22D9D20C2A20700002076BA1B21305DF22C2A20B0000C494E484
  634. E20602746C494E454B0BC176BA1C2A20B0000443505339201000000000000430
  635. 3CE22313C1AFE22D9D20C2A20700002076BA1B21305DF22C2A20D00008656C60
  636. 7233A2387C1D511293632B21306B10040D4E455134047A20C2A20D00006696E6
  637. 46C2A20D000056469647C2A20B0000164646C2A20B00004656C6C2A20D0000D8
  638. 3747B6C2A20D00003747B6D8B2130E700040E687477340D9D20E163284E20502
  639. 74605F435743A276BA184E205027463594A53ECB14563284E2050274605F4359
  640. 7632DCC0293632B213017000400727677340D9D20E163284E2050274605F4357
  641. 43A290DA19C2A217CB14563284E2050274605F43597632DCC0293632B2130560
  642. 0040E656874740D9D20E16324563284E2050274605F435976324F80284E20502
  643. 7463594A53ECB14563284E2050274605F43597632DCC0293632B213067000400
  644. 727566740D9D20E16324563284E2050274605F43597632AA9029C2A217CB1456
  645. 3284E2050274605F43597632DCC0293632B2130A60003026F64730D9D20E1632
  646. 84E205027463594A54563284E2050274605F43597632DCC0293632B2130F4000
  647. 3047F60730D9D20E16329C2A24563284E2050274605F43597632DCC0293632B2
  648. 13034000405687964740D9D20E16324B2A24563284E20502746B4549597632DC
  649. C0293632B213054000707656473484251370D9D20E1632339201000000000000
  650. 2303CE22313C1AFE22D9D2078BF18B9C192CF1C2A2070000024BAC13CE2278BF
  651. 1AFE22D9D209C2A276BA1DBBF1C58C1B21305BF223FBF15DF22B21305DF2284E
  652. 2050C4472796D69C2A29C2A2C58C193632B21305D00050C4472796D650D9D20E
  653. 16323303278BF18B9C192CF19C2A29C2A2C58C1C2A207000002279E1D5032D9D
  654. 20ED2A2DBBF1C58C1B2130496328DBF193632B2130E700040C44454C440D9D20
  655. E16322ABF19C2A2DBBF19C2A290DA1C58C13F2A20DCF19C2A276BA192CF18B9C
  656. 1C58C176BA193632B2130660005096E637274750D9D20E163284E20602746E41
  657. 4D45484E2050274605F43584E20503707C69647E0CF1DBBF176BA176BA145632
  658. 84E20602746E414D4549763204B02DCC024563284E2050274605F435976324F8
  659. 024563284E205027463594A5976324F8023FBF193632B21307D00030E6567730
  660. D9D20E1632C2A20F0000C496E656021C432D6E201047E163247A20B21309C2A2
  661. 743A20A132D6E201087D6E201047D6E201087B0BC176BA147A20C2A205000084
  662. E2010C8B2130AC42276BA1C4232EF53293632B21304B000503707C6964750D9D
  663. 20E16322ABF19C2A2DBBF1C58C13F2A20DCF19C2A276BA192CF18B9C1C58C193
  664. 632B213095000403747B6D840D9D20E1632FD332D9D2078BF178BF168BC1D13A
  665. 2D9AE1DBBF18B9C1743A2EBBE13CE22908E1AFE22D9D20C2A2050000933A1B21
  666. 305DF229C2A2387C184E205096E6372747B2130F1732D9D20858A1C2A20F2000
  667. 96E66716C6964602F62702E6F602C6963747E2E2E29C2A2485A184E203056272
  668. 7B21305DF2293632B21308010040D83747B640D9D20E163284E20602746E414D
  669. 45484E2050274605F4356C7D193632B2130940006037471647573760D9D20E16
  670. 323C032218917F791299914563284E20602746E414D4549763204B0278BF1C2A
  671. 2011000C4963747A302DBBF176BA1DBBF19D1A1DBBF18DBF1C2A20110003596A
  672. 756A302DBBF176BA1C2A2011000944756D6A30284E2050274605F43576BA1C2A
  673. 20D000002F6660276BA184E205027463594A576BA1C2A20B10006496E646A302
  674. 77F6274602339201000000000000230063C1C2A207000013C2A207000023EF3A
  675. 176BA1C2A207100002F66602C696E6560276BA184E20602746C494E45476BA1C
  676. 2A20B10006496E646A3026627F6D602339201000000000000330313C1C2A20B0
  677. 00047F607C2A20310003657272756E647EF3A176BA1C2A201100044963707A30
  678. 23392010000000000004303CE22313C1AFE22D9D20C2A20F0000C496E6560276
  679. BA184E20602746C494E45476BA1C2A207100002F6E6C69702A2027376BA1B213
  680. 05BF22D9D20C2A207100016C6C602C696E6563776BA1B21305DF22743A284E20
  681. 70469637073545B484E2040D4E45523683A2F17A1D6BB11C432D6E201087E163
  682. 2D8732D9D20D6E201087339201000000000000210279E18A732D9D2033920100
  683. 0000000000330472C1B21305DF22D6E201087339201000000000000310279E18
  684. A732D9D203392010000000000003305D2C1B21305DF22D6E2010873392010000
  685. 00000000110279E18A732D9D2033920100000000000023084E20504564C41474
  686. B21305DF22339201000000000000410D6E201087279E18A732D9D204563284E2
  687. 0602746C494E454976324F802743A23CE22D5CE1AFE22D9D209C2A24563284E2
  688. 0602746C494E45497632DCC02B21305DF22B21305DF223392010000000000005
  689. 10D6E201087279E18A732D9D2033920100000000000043084E20504564C41474
  690. B21305DF22339201000000000000610D6E201087279E18A732D9D2084E204086
  691. 56C6074B2A245632D6E20108797632DCC02B21305DF224B2A245632D6E201087
  692. 97632DCC02B21305DF22D6E201087EF532DE0324B2A2279E19B6324B2A269112
  693. 93632B21302E50030F6666630D9D20E1632E13A184E20402656C6C693632B213
  694. 02300050072796E64750D9D20E16324AEE184E2040D83747B69C2A23C0327C8D
  695. 135EE18DBF1339201000000000000469DE032313C19B6323FBF193632B213087
  696. 000304656C630D9D20E1632858A184E205027463594A59C2A23CE22D5CE1AFE2
  697. 2D9D2047A20C2A20B0000955435C2A2090000E4F4B2130D5112C2A2031000255
  698. 414C4C495F39C2A2485A1683A2F17A13392010000000000011103CE22279E1AF
  699. E22D9D2084E20602746E414D45484E2050274605F43584E2040C44454C445632
  700. 84E20602746E414D4549763204B02DCC024563284E2050274605F43597632AA9
  701. 028DBF184E2060274694E49445B21305DF224B2A269112B21305BF22D9D20C2A
  702. 20920003616E647024656C6564756021302F66602139C2A2485A184E20305627
  703. 27B21305DF2293632B21303D1003016464630D9D20E163284E2030E6567784E2
  704. 0403747B6D893632B2130A3000405646964740D9D20E163284E20602746E414D
  705. 45484E2040D83747B6C2A20F0000C496E656021C432D6E201016D6E201047E16
  706. 3247A20B21309C2A2743A20A132D6E201087D6E201047D6E201087B0BC176BA1
  707. D6E201016D6E2010876C7D184E2010C8ED2A2387C1AC42276BA1C423284E2050
  708. 274605F435DBBF1704D14563284E20602746E414D4549763204B02DCC02EF532
  709. 93632B213003100406696E64640D9D20E1632858A1C2A20F00006496E646A384
  710. E2050274645854584E2010C8ED2A2387C1AC42284E206055053616375678BF14
  711. 563284E2050274645854597632DCC02C2A20500003CE22D9AE1AFE22D9D20339
  712. 2010000000000005305D2C184E20602746E414D4543392010000000000003300
  713. 63C184E2050274605F4359C2A2EF3A13C0327C8D184E20602746C494E4546C7D
  714. 1B0BC184E205027464585458B9C19C2A23CE22D5CE1AFE22D9D2084E20605505
  715. 3616375684E205027464585453CE224BAC1AFE22D9D203392010000000000005
  716. 30472C1B21305DF22B21305BF22D9D2084E20707656473484251384E20605505
  717. 3616375684E205027464585453CE22279E1AFE22D9D203392010000000000005
  718. 30472C1B21305DF22B21305DF22DE032339201000000000000530313C1339201
  719. 000000000000469313C1908E19B632DBBF18DBF13392010000000000005303CE
  720. 22313C1AFE22D9D209C2A290DA178BF13CE22F88E1AFE22D9D208DBF184E2050
  721. 27463594A5B21305DF224563284E2050274605F43597632DCC02B21305BF22D9
  722. D208DBF1858A1C2A205200035472796E67602E6F6470266F657E6469C2A2485A
  723. 184E2030562727B21305DF22B21305DF2293632B2130D9300703686B6E414D45
  724. 470D9D20E163284E20602746E414D45468BC1D13A23CE22D9AE1AFE22D9D20C2
  725. A2055000722746E414D454720246F65637E672470286F6C646A047865602E616
  726. D65602F666021602C6963747933A1B21305DF2293632B21300C0005027464585
  727. 4550C2A205000081000602746C494E4546033920000000000000001052000502
  728. 7463594A5503392000000000000000103200050274605F435503392000000000
  729. 0000001032000502746B454955033920000000000000000032000602746E414D
  730. 4546084E2050C4943545131200050C4943545135047A2047A20C2A2012000755
  731. 696372696E6C202A416D65637C2A20F1000331302C416E67647F6E6023547C2A
  732. 2032000C4F6E646F6E602357513030203A484C2A20520004554C402037313D25
  733. 33373D253332303C2A205200064148502037313D2533373D253335333C2A2052
  734. 00056D61696C6027333435373E233436323C2A20F20000202020202020436F6D
  735. 607573756276756E236F6D6B2130B213064100408656C60740D9D20E1632C2A2
  736. 0D200044164716D3B702870287028702870256473602D7C2A20D200002020287
  737. D3B702D696E6027302964756D63702D7C2A20D20003547F6275602E414D45402
  738. 96E6022746E414D454C2A20F200025F237866647F2F4E4D307165737560282F6
  739. 666692C2A20F2000C4F237866647F2052594E445D30727E64702365727C2A209
  740. 200054E4455425D33756475707F2374716475737C2A20F200014E69702F64786
  741. 562702B656970247F60217579647743A284E2070469637073545B44B2A2F17A1
  742. 8DBF193632B21309A1005025F4C4448550D9D20E163284E20703686B6E414D45
  743. 484E2060274694E494453C0323392010000000000004303CE22063C1AFE2284E
  744. 205046963707135BF2284E205046963707735DF2284E2040D4E45513D5112683
  745. A2F17A14563284E20502746B4549597632DCC02D8732D9D2047A203392010000
  746. 00000001520339201000000000001430339201000000000002620B213084E205
  747. 02746B454954BAC18A73284E2040072756675DF2247A20339201000000000001
  748. 620339201000000000001530339201000000000001630B213084E20502746B45
  749. 4954BAC18A73284E2040E65687475DF2247A2033920100000000000252033920
  750. 1000000000002430B213084E20502746B454954BAC18A73284E2040072767735
  751. DF2247A20339201000000000002530339201000000000002630B213084E20502
  752. 746B454954BAC18A73284E2040E68747735DF2247A2033920100000000000343
  753. 0339201000000000003520B213084E20502746B454954BAC18A73284E203047F
  754. 6075DF2247A20339201000000000003530339201000000000003630B213084E2
  755. 0502746B454954BAC18A73284E203026F6475DF2233920100000000000115084
  756. E20502746B45495279E18A73284E20603747164757375DF22339201000000000
  757. 00319084E20502746B45495279E18A73284E2030F666665DF2247A2033920100
  758. 0000000002120339201000000000003120B213084E20502746B454954BAC18A7
  759. 3284E2050072796E6475DF2284E20502746B4549533920100000000000001050
  760. FA1D6BB19C2A2279E18A732D9D2084E2040D4E4551384E20502746B454953392
  761. 0100000000000001050FA13ABB1339201000000000000010EEDA1D6BB16C7D1B
  762. 7FC1B21305DF2284E204056879647B21305DF22DE03284E20502746B454954B2
  763. A2279E19B632ED2A26911293632B21302859"
  764. END_ASC
  765.  
  766.  
  767. BYTES: #9582h 4921.5
  768.  
  769. BEGIN_UU roldx.uue
  770. begin 644 roldx.bin
  771. M2%!(4#0X+466*O!_#"$````$8F5L;`2=+>!A(S,I,````````"`PDP*8"0``:
  772. M````!J+[<;@?\Z("S1_$I?%Q&L2ED6,C*S'0!@`#97)R`YTMX&$C2"Y`(%;&;
  773. MQL:B`B4``"=7-C<'$N:6![)6EN?BXN(M*H2E<30JI*5!*RH?IX&]'SDVLA(#R
  774. M>@!@($>6Y)1$9=#9`AXV@N0"!7)D4$]3R:(2QQM4-H+D`@5R9%!/4WDVTLP@[
  775. M2"Y@($?F%-14A)L<A_M!92-(+E`@1S:5I)5G(\T,@N0"!7)D4$]3X[Q!92-(<
  776. M+E`@1P;U-)5G(\T,DF,C*S$@#0`&55!C87-E!ITMX&$CA_N!FQS!--+F`@%T'
  777. M;2X0,.=A(RPJ4```R:+2Y@(!<Z`QTN8"`7AM+A!`U^8"`7B'^\&%'(?[<;@?&
  778. M+"IP``!AF^W1NQ\L*G```'K\[#'L(H/GH>\BG2W`H@('``!BCQXK,5#](F>K.
  779. MP20C_C628R,K,;`/``541DQ!1P6=+>!A(X?[,>PB$\.A[R+5PE'[(G3"4?TB[
  780. M.3:R$@-*`'!`EC8'-T6U=-#9`AXV@H4:R:("&B-M+A"`U^8"`7B$I6$X*H`S^
  781. M<C0JI*618R,K,0`&``5D:7-P-P6=+>!A([2B$DPC;2X0X.9A(T@N4"!'!O4T?
  782. M=;@?,J-RMAI(+E`@1S:5I#7.&Z`QTN8"`7A(+F`@1^84U%34Y@(!>,;7@>0"G
  783. M!G)D3$E.1<;7064C;2X0X)9G(_0(@KT?3#+2Y@(!;D@N<$"6-@<W1;7D7R,Y=
  784. M-K(2`_P`4$"6-@<74]#9`AXV@N0"!(US=&N^HW$T*D@N<$"6-@<W1;648R,K/
  785. M,0`%``1-3E4R!)TMX&$C+"JP``!74D0S*1`````````R`#8<+"IP```Q+"IP(
  786. M```R_J-QMAHL*K```%1/4#,I$````````#,P["(3PZ'O(ITMP*("!P`@<+8:<
  787. M*S%0_2(L*K```$-54C,I$````````#,P[")@PZ'O(ITMP*("!P`@<+8:*S%0Y
  788. M_2(L*K```$Q)3D@N8"!'QI3D5+2P'&>KP:(""P!`-`4UDP(!``````!``\,N9
  789. M,C$<^B[2V0(L*G````)GJ[$2`]4OPJ("#0"`5L8&)S,J@\?1%2$Y-K(2`[8!B
  790. M0-#D5!5#0*<"+"K0``!F:6YD+"K0``!E9&ET+"JP``!A9&0L*K```&1E;"PJ8
  791. MT```C7-T:RPJT```<W1KC2LQX`<`!&YX=#<$G2W@82-(+E`@1P;U-'4T*F>K[
  792. M@>0"!7)D4TE:X[Q!92-(+E`@1P;U-)5G(\T,DF,C*S$0!P`$<')V-P2=+>!A0
  793. M(T@N4"!'!O4T=30J":V1+"IQO$%E(T@N4"!'!O4TE6<CS0R28R,K,5`&``1NY
  794. M97AT!)TMX&$C5#:"Y`(%<F103U-Y-D*/($@N4"!'-I6D-<X;5#:"Y`(%<F10+
  795. M3U-Y-M+,(#DVLA(#=@!``"=79D?0V0(>-D)E(T@N4"!'!O4TE6<CJ@F2+"IQ*
  796. MO$%E(T@N4"!'!O4TE6<CS0R28R,K,:`&``-B;W0#G2W@82-(+E`@1S:5I$5EX
  797. M(T@N4"!'!O4TE6<CS0R28R,K,?`$``-T;W`#G2W@82/)HD)E(T@N4"!'!O4T3
  798. ME6<CS0R28R,K,3`$``1E>&ET!)TMX&$CM*)"92-(+E`@1[94E)5G(\T,DF,C:
  799. M*S%0!``'9V5T0TA2,0>=+>!A(S,I$````````#(P["(3PZ'O(ITM<+@?N,F1;
  800. MPA\L*G```""TRC'L(H?[H>\BG2V0+"IGJ]&['US(L1(#M2\ROQ_5+[(2`]4O<
  801. M@N0"!4QT<FEMR:*2+"I<R)%C(RLQ4`T`!4QT<FEM!9TMX&$C,S!RN!^XR9'"#
  802. M'\FBDBPJ7,C!H@('```BEQY=,-+9`MZBTKL?7,BQ$@.4-H*]'SDVLA(#?@!`K
  803. MP$14Q$30V0(>-B*Z'\FBTKL?R:*2T!I<R#$O*M#\D2PJ9ZN1PA^XR<&%'&>K=
  804. MD6,C*S%@!@`%:6YS<G0%G2W@82-(+F`@1^84U%2$Y`(%<F103U-(+E`P!\>6G
  805. M1N?`'[W[<;8:9ZM!92-(+F`@1^84U%249R-`"]+,(%0V@N0"!7)D4$]3>39""
  806. MCR!4-H+D`@5R9%-)6GDV0H\@\_N18R,K,7`-``-N97<#G2W@82,L*O```$QI2
  807. M;F4@P332Y@(!=!XV0J<"*S&0+"I'HP(:(VTN$(#7Y@(!=&TN$("WL!QGJT&GO
  808. M`BPJ4```2"X0P+@2`\HD<K8:3#+B7R,Y-K(2`[0`4#`'QY9&5]#9`AXV(KH?F
  809. MR:+2NQ]<R#$O*M#\D2PJ9ZN1PA^XR<&%'#DVLA(#60!`,$>WUDC0V0(>-O(]"
  810. M(YTM<+@?A_MAN!P=H]*I'KW[@9L<1Z/BNQ[#+I*`'OHNTMD"+"I0```YH[$21
  811. M`]4ODBPJ@\>!Y`(%:6YS<G0K,?!Q(YTM@(4:+"KP`@!I;G9A;&ED(&]R(&YO;
  812. M(&QI<W0N+B[)HD)8&D@N,%`F)[<2`]4ODF,C*S&`$``$C7-T:P2=+>!A(T@N%
  813. M8"!'YA345(3D`@5R9%!/4\;7D6,C*S&0!``&<W1A='5S!ITMX&$CPS`B@1GW&
  814. MER&9&50V@N0"!G)D3D%-17DV`K0@A_O!H@(1`,"4-D>G`]*['V>KT;L?V:'1%
  815. MNQ_8^\&B`A$`,)6F5Z8#TKL?9ZO!H@(1`)!$5]:F`X+D`@5R9%!/4V>KP:(")
  816. M#0``\F8&<K8:2"Y0($<VE:1UMAHL*K`!`$9I;F0Z('=O<F0@,RD0````````T
  817. M,@`V'"PJ<```,2PJ<```,OZC<;8:+"IP`0`@;V8@;&EN92!GJX'D`@9R9$Q)K
  818. M3D5GJ\&B`AL`8)3F1J8#8B;WU@8RDP(!```````P`Q/#P:(""P!`]P;'H@(3R
  819. M`#!6)R=7YD;G/QIGJ\&B`A$`0)0V!Z<#,I,"`0``````0`/#+C(Q'/HNTMD"S
  820. M+"KP``!,:6YE(&>K@>0"!G)D3$E.16>KP:("%P``\N;&E@>B`G)SMAHK,5#[U
  821. M(ITMP*("%P`0QL8&PI;F5C9WMAHK,5#](D>C@N0"!V1I<W!35$M(+D#0Y%0EB
  822. M8S@J'Z?1MAO!--+F`@%X'C;2>".=+=#F`@%X,RD0````````$B"7'J@WTMD"\
  823. M,RD0````````,T`G'"LQ4/TB;2X0@#>3`@$``````#`!<NF!>B.=+3"3`@$`<
  824. M`````#`#U<*Q$@/5+]+F`@%X,RD0````````$2"7'J@WTMD",RD0````````2
  825. M,H#D`@541DQ!1RLQ4/TB,RD0````````%-#F`@%X<NF!>B.=+4!E(T@N8"!'[
  826. MQI3D5)1G(_0(<C0JPR[2Q1[Z+M+9`LFB0F4C2"Y@($?&E.14E&<CS0RR$@/5Q
  827. M+[(2`]4O,I,"`0``````4`%M+A"`)Y<>J#?2V0(S*1`````````T@.0"!51&^
  828. M3$%'*S%0_2(S*1`````````6T.8"`7ARZ8%Z(YTM@.0"!&AE;'"THD)E(VTNJ
  829. M$("79R/-#+(2`]4O0BLJ5#;2Y@(!>'DVTLP@*S%0_2)M+A"`YU\C[3!"*RIR.
  830. MZ9%K([2B8ADA.3:R$@/B!3#P9F8VT-D"'C;B,1I(+D`@5L;&EF,C*S$@`P`%K
  831. M<')I;G0%G2W@82.D[H'D`@2-<W1KR:(R#"/'V#'E'MC[,9,"`0``````0);MP
  832. M,#(Q'+DV,K\?.3:R$@-X`#!`5L8VT-D"'C:"A1I(+E`@1S:5I)4L*L,NTL4>V
  833. M^B[2V0)T*L"B`@L`D%4TQ:(""0#@]+02`UT1PJ("$P`@513$Q)3UDRPJA*5A]
  834. M."H?IS&3`@$``````!$!PRXBEQ[Z+M+9`D@N8"!'YA345(3D`@5R9%!/4T@NM
  835. M0,!$5,1$92-(+F`@1^84U%249R-`"]+,(%0V@N0"!7)D4$]3>3:BFB#8^X'D"
  836. M`@9R9$E.250K,5#](K2B8ADA*S%0^R*=+<"B`BD`,!;F1@="5L961E<&$@/RH
  837. M9@82DRPJA*6!Y`(#97)R*S%0_2(Y-K(2`],!,!!&1C;0V0(>-H+D`@-N97=(W
  838. M+D`P1[?6F&,C*S&@`P`$961I=`2=+>!A(T@N8"!'YA345(3D`@2-<W1K+"KP)
  839. M``!,:6YE(,$TTN8"`6%M+A!`YV$C="JP$@/)HG(T*J`QTN8"`7AM+A!`U^8"N
  840. M`7@+RW&V&FTN$!#6Y@(!>,;7@>0"`8S>HC)X',HD<K8:3#*"Y`(%<F103U.],
  841. M^W%`'50V@N0"!G)D3D%-17DV`K0@S0SB7R,Y-K(2`S`!0&"6YD9&T-D"'C:"Z
  842. MA1HL*O```$9I;F0Z2"Y0($=&A46%Y`(!C-ZB,G@<RB2"Y`(&55!C87-EA_M!5
  843. M92-(+E`@1T:%195G(\T,PJ("!0`P["*=ZJ'O(ITM,),"`0``````4`/5PH'D!
  844. M`@9R9$Y!344S*1`````````S`#8<2"Y0($<&]325+"K^HS$,(\?8@>0"!G)DX
  845. M3$E.1<;7L;`<2"Y0($=&A46%FQS)HC+L(EWLH>\BG2V`Y`(&55!C87-E2"Y0S
  846. M($=&A44U["*TRJ'O(ITM,),"`0``````4`-TPK$2`]4OLA(#M2_2V0)(+G!PG
  847. M5D8WA"05@^0"!E508V%S94@N4"!'1H5%->PB<NFA[R*=+3"3`@$``````%`#^
  848. M=,*Q$@/5+[(2`]4OT@XC,RD0````````-3`Q'#,I$````````&0Y,1P)Z)%K9
  849. M([W[@;T?,RD0````````-3#L(A/#H>\BG2V0+"H)K7&X'\,N\H@>^B[2V0+85
  850. M^X'D`@5R9%-)6BLQ4/TB5#:"Y`(%<F103U-Y-M+,("LQ4/LBG2V`O1]8J,&B`
  851. M`B4`,$4GE^9V!N+V1@=B]E;G1I8L*H2E@>0"`V5R<BLQ4/TB*S%0_2(Y-K(2U
  852. M`YT#<#"&MN84U%1TT-D"'C:"Y`(&<F1.04U%ALO1,2K#+M*I'OHNTMD"+"I0M
  853. M!0`G<F1.04U%)R!D;V5S;B=T(&AO;&0*=&AE(&YA;64@;V8@82!L:7-T.:.Q&
  854. M$@/5+Y)C(RLQ``P`!7)D5%A4!2PJ4```&`!@($?&E.149#"3`@`````````!6
  855. M)0!0($<VE:15,),"``````````$C`%`@1P;U-%4PDP(``````````2,`4"!';
  856. MME2453"3`@``````````(P!@($?F%-149(#D`@5,25-4,2$`4,"4-$454T"G*
  857. M`G0JP*("(0!P598V)Y;FQ@*B%-96-L>B`A\`,!,#PA3F=D;WY@8R1<>B`B,`X
  858. MP/3F1O;F!C)U%0,#`J.$Q*(")0!`5<0$`G,3TU(S<]-2,R,#PZ(")0!@%(0%>
  859. M`G,3TU(S<]-2,U,SPZ(")0!0UA:6Q@9R,T-3<^,R0V,CPZ("+P```@("`@("2
  860. M-/;6!E<W5R9G5^8R]M:V$@,K,6`4``1H96QP!)TMX&$C+"K0`@!$871A/7L@.
  861. M>"!X('@@>"!E=&,@?2PJT`(`("`@>#U[(&UI;B`W(&ET96US('TL*M`"`%-T+
  862. M;W)E($Y!344@:6X@<F1.04U%+"KP`@!2+W-H9G0O3TX]<&%U<V4@*&]F9BDL5
  863. M*O`"`$PO<VAF="]04DE.5#UP<FYT(&-U<BPJD`(`14Y415(]<V5T=7`O<W1AN
  864. M='5S+"KP`@!!;GD@;W1H97(@:V5Y('1O('%U:71'HX+D`@=D:7-P4U1+M*+R5
  865. M<1K8^Y%C(RLQD!H`!5)/3$18!9TMX&$C2"YP,(:VYA345(3D`@9R9$E.253#O
  866. M,#*3`@$``````$`#PRX"-ASZ+H+D`@5D:7-P,;4O@N0"!61I<W`WU2^"Y`($H
  867. M34Y5,5T18C@J'Z=!92-(+E`@1[94E)5G(\T,TG@CG2U`IP(S*1```````!`E7
  868. M,),"`0``````00,S*1```````"`FL!(#2"Y0($>V5)1%JQRH-X+D`@1P<F5V5
  869. MU2]"IP(S*1```````!`F,),"`0``````40,S*1```````!`VL!(#2"Y0($>VY
  870. M5)1%JQRH-X+D`@1N97ATU2]"IP(S*1```````"`E,),"`0``````0@,K,8#D"
  871. M`@5R9$M%6;3*@7HC2"Y``"=G=U/](G0J,),"`0``````4@,S*1```````"`V9
  872. ML!(#2"Y0($>V5)1%JQRH-X+D`@1N>'0WU2]"IP(S*1```````#`T,),"`0``\
  873. M````4P(K,8#D`@5R9$M%6;3*@7HC2"XP0/<&5_TB="HPDP(!``````!3`S,I_
  874. M$```````,#:P$@-(+E`@1[94E$6K'*@W@N0"`V)O=-4O,I,"`0``````$05(P
  875. M+E`@1[94E"67'J@W@N0"!G-T871U<]4O,I,"`0``````$PE(+E`@1[94E"670
  876. M'J@W@N0"`V]F9M4O0J<",RD0```````@(3"3`@$``````!,"*S&`Y`(%<F1+^
  877. M15FTRH%Z(T@N4``GE^9&5_TB2"Y0($>V5)0UDP(!`````````06OT;8;R:(B4
  878. MEQZH-]+9`D@N0-#D5!6#Y`(%<F1+15DS*1`````````04/`:H[LQDP(!````Q
  879. M`````>ZMT;8;QM>Q]QPK,5#](D@N0%"&ET:W$@/5+](.(T@N4"!'ME2412LJ>
  880. /<NF1:R/>HF(9(3DVLA(#V
  881. ``
  882. end
  883. END_UU
  884.